#include "cpu/exec/helper.h"

// 定义数据字节长度为1的模板，并引入mov-template.h文件
#define DATA_BYTE 1
#include "mov-template.h"
#undef DATA_BYTE

// 定义数据字节长度为2的模板，并引入mov-template.h文件
#define DATA_BYTE 2
#include "mov-template.h"
#undef DATA_BYTE

// 定义数据字节长度为4的模板，并引入mov-template.h文件
#define DATA_BYTE 4
#include "mov-template.h"
#undef DATA_BYTE

/* for instruction encoding overloading */

// 将MOV指令操作数为立即数到寄存器的模板函数添加到指令解码中
make_helper_v(mov_i2r)

// 将MOV指令操作数为立即数到内存的模板函数添加到指令解码中
make_helper_v(mov_i2rm)

// 将MOV指令操作数为寄存器到寄存器的模板函数添加到指令解码中
make_helper_v(mov_r2rm)

// 将MOV指令操作数为内存到寄存器的模板函数添加到指令解码中
make_helper_v(mov_rm2r)

// 将MOV指令操作数为地址到内存的模板函数添加到指令解码中
make_helper_v(mov_a2moffs)

// 将MOV指令操作数为内存到地址的模板函数添加到指令解码中
make_helper_v(mov_moffs2a)
